Here is the 3D-Filmstrip menubar (when Surfaces is the currently selected Category):
Below we will discuss in turn each of the menus in the menubar, but first we wish to point out special features of two of the 3D-Filmstrip menus. In reality, 3D-Filmstrip is a collection of many closely related programs living under one roof. Each of the 3D-Filmstrip Categories not only has its own collection of mathematical objects, but also needs its own special ways of visualizing these objects. For this reason two of the menus in the menubar are "context sensitive". As soon as the user selects a new Category, the third menu from the left (called the Main menu) changes to a menu with the name of that category. The Main menu is a menu of nouns---it contains the names of all the objects of that Category. Just to the right of the Main menu is a menu of verbs, called the Action menu. Generally speaking, a user first selects an object from the Main menu and then an action to perform on it from the Action menu. Since what you can do to an object depends on what Category it belongs to as well as its special characteristics, the Action menu is particularly context sensitive, and in fact it is re-created from scratch each time it is pulled down. The remaining menus are are more stable. To continue the metaphor, they are menus of adjective and adverbs; making a selection from one of them modifies the nature of the selected object chosen from the Main menu or of the action chosen from the Action menu. While these other menus change slightly with the context (e.g., certain items are enabled or disabled or change their names slightly) they are much more stable, than either the Main menu or the Action menu, and a representation of each is given below. Elsewhere give a list of representations of the Main menu and a list of representations of the Action menu.
By tradition, the File menu has as its final entry the Quit command. It also contains just above Quit a Cose Window command. This closes an active Dialog window, but not the main Graphics window, which is always open. The remainder of the File menu has the more interesting items for saving and restoring Settings files, saving the current contents of the Graphics mindow as a PICT file, saving filmstrip animations as QuickTime movies, and for exporting surfaces to Matlab and POVRAY, and importing surfaces from Matlab. Click here for more details on the File menu and just what its various items do.
File
Open Settings...
Save Settings...
Save Window As Pict File...
Save Animation As Movie...
Save Surface Data...
Open Surface Data...
Open Movie...
Close Window
Quit
Not used by 3D-Filmstrip
The Main menu is just to the right of the Edit menu and has the name of the current Category. It lists all the pre-programmed objects of the current Category, as well as any User Defined... items. In some cases, the current Category will have subcategories, and the Main menu will have submenus to reflect this fact. For example, the Surface menu has submenus that list non-orientable surfaces, pseudospherical surfaces, and minimal surfaces. A representation of the main menu associated to each Category is given with the documentation for that Category. Click one of the following category names to see the associated Main menus: Plane Curves, Space Curves, Surfaces, Conformal Maps, Polyhedra, ODE1D1stOrder, ODE1D2ndOrder, ODE2D1stOrder, ODE2D2ndOrder, ODE3D1stOrder, ODE3D2ndOrder, Central Forces, Lattice Models, Waves.
The Action menu like the Main menu is context-sensitive, and in fact it is created on the fly each time it is pulled down. Its contents reflect the current Category, and the currently selected object of that category. Click one of the following category names to see the associated Action menus: Plane Curves, Space Curves, Surfaces, Conformal Maps, Polyhedra, ODE1D1stOrder, ODE1D2ndOrder, ODE2D1stOrder, ODE2D2ndOrder, ODE3D1stOrder, ODE3D2ndOrder, Central Forces, Lattice Models, Waves.
The Category menu simply lists the various categories of mathematical objects that 3D-Filmstrip deals with. Choosing a particular Category makes it the "currently chosen Category", and makes its menu the current Main menu.
Category
Plane Curves
Space Curves
Surfaces
Conformal Maps
Polyhedra
ODE
ODE(1D)1stOrder
ODE(1D)2ndOrder
ODE(2D)1stOrder
ODE(2D)2ndOrder
ODE(3D)1stOrder
ODE(3D)2ndOrder
Central Forces
Lattice Models
Waves
The integer "Scale" is just the number of screen pixels per "unit of length". Thus, the larger you set Scale, the larger details will look on the screen. (However this will not show any extra detail unless you also increase resolutions at the same time.)
The Set Morphing... dialog allows you to set the initial and final values of the nine parameters, aa, bb, ..., ii, during a morph (and, for the surface category, the initial and final values of umin, umax, vmin, vmax). The initial value of aa is called aa0, and the final value aa1, etc. During a morphing animation the initial and final frames are drawn using these initial and final values respectively, and the values for the intermediate frames are determined by linear interpolation. Often it is convenient to set the initial and final values to the current values and then make a few modifications. To do this, click on the button "Init to Current Parameters".
The number (N) of frames in a filmstrip determines how an animation will play out, and can be chosen independently for the three types of filmstrips (morphing, oscillation, and rotation). For example, if you choose Rotation from the Animate Menu, the filmstrip created will consist of a full rotation of 360 degrees about the Rotation Axis, each frame being (360/N) degrees rotated from the preceding, where N is the number of frames in a rotation filmstrip. Making N large will give a smoother rotation that takes longer to play through the loop once. Choosing Oscillate from the Animate Menu will create a sequence of N frames, each rotated 5 degrees from the preceding one, where N is now the number of frames in an oscillation filmstrip. This give a quick way of seeing a smooth rotation through a smaller range. There is also a parameter, Rotation Divisor, that can be set in the Set Number of Frames... dialog. If this is set to an integer n, then a rotation filmstrip with N frames will only rotate 360/Nn degrees between frames (rather than 360/N), so it will only rotate a total of 360/n degrees (instead of 360 degrees). Of course this will produce a sudden jump at the end of each time thru the filmstrip unless the object being displayed is invariant under a 360/n degree rotation about the rotation axis. But if this is the case, then a smooth rotation can be created using many fewer frames. For a morphing animation, the number of frames determines how many intermediate stages there are between the initial and final stage of the morph
The Custom... item of the Set Light Sources submenu of the Settings menu brings up one of the more complex dialogs of the program. This lets the user set the color of the five light sources (Source0, Source1, Source2, Source3, and AmbientSource) and the direction of the light rays from Source1, Source2, Source3. The two parameters that determine the characteristics of specular reflection from a surface (Specular Exponent and Specular Ratio) are also set using this dialog. This dialog is used in combination with the Set Coloration submenu of the Surface menu to determine the color of a surface when the Color item of the View menu is chosen. See the section on color for more details.
Settings
Set Resolution&Scale...
Set t,u,v ranges...
Set Parameters...
Set Morphing...
Set Number of Frames...
Default 1
Default 2
Distinctly Colored Sides Default
Viewpoint Only
Ambient Only
User Option
Save Current Options as User Option
High Specularity
Medium Specularity
Low Specularity
Custom...
Set Rotation Axis...
ODE Settings...
Black&White
16 Grays
16 Colors
256 Grays
256 Colors
Thousands
Millions
View
Show Toolbar
Show Axes
Perspective Projection
Orthographic Projection
Standard Orientation
Reverse Orientation
No Orientation
Wireframe Display
Patch Display
White Background
Black Background
Black&White
Color
Distinguish Sides by Color
Stereo Vision
Monocular Vision
Aspect
Display Axes Only
Display Object
Choose Screen Center by Mouse
Go Towards Mouse
Forward (Level)
Backward (Level)
Towards Screen Center
Away From Screen Center
Revolve Clockwise
Revolve Counterclockwise
Rotate Viewpoint Up
Rotate Viewpoint Down
Choose Rotation Axis
Rotate About Rotation Axis
Translate Right
Translate Left
Translate Up
Translate Down
Other Side
Zoom In
Zoom Out
Look at Origin From...
Choose Aspect Parameters...
Before beginning a description of the Aspect menu it is important to understand a basic design feature of 3D-Filmstrip: once an object is created in space, it is never moved or re-created in a different location. All different views of the object are created by using the well-known "alias vs. alibi" duality. For example, to make an object centered at the origin appear to rotate clockwise about the origin, we fix ImagePlaneCenter at the origin, and then rotate ViewPoint and ViewDirection counterclockwise about the origin, keeping FocalLength fixed. Similarly, to make an object appear to translate up,down, right, or left, we translate both ViewPoint and ImagePlaneCenter in the opposite direction, keeping ViewDirection and FocalLength fixed. Of course this only works because we are dealing with a single object at a time. If we had both a torus and an ellipsoid on the screen, and wanted to rotate one while we translated the other, the approach we are using fails. But since we are only dealing with a single object at any time, this approach both simplifies and speeds up the process of showing different views of an object.
Most of the pre-programmed three-dimensional objects in the program are symmetric with respect to the origin so it was natural to choose the origin as default ImagePlaneCenter. One of the early objects (Dini's Surface) seemed to look particularly nice when viewed from (10,-10,10), so that became the default ViewPoint, making the default FocalLength 10 sqrt(3), and default ViewDirection (-sqrt(3)/3, sqrt(3)/3, -\sqrt(3)/3). It is natural to choose Scale proportional to the linear size of the Graphics Window. After a little experimentation I chose one-tenth the sum of the height and witdth of the Graphics Window in pixels as the default value of Scale. (For a 420 pixel by 300 pixel sized Graphics Window, this makes Scale equal to 72, so a line segment of unit length on the ImagePlane will appear to be one inch long on a monitor with resolution of 72 dpi.) Finally, the default value of ClipRatio is one-quarter (giving a default ClipDistance of 4.33), and the default value of EyeSeparationRatio is 0.075 (giving EyeSeparation a default valure of 1.2). Of course, for certain objects, these default values are inappropriate, and the program changes them to other values before creating the default display of the object.
Sometimes you may want to experiment with various choices of aspect, trying to find the "best" one. It is annoying to have to wait for a complex object to redraw after each choice, and to speed things up it is possible to have the program just draw the coordinate axes instead of the whole object after each change of aspect. To enter this mode of operation just choose Show Axes Only from the top of the Aspect menu (this item will then become checked). When you are satisfied with the choice of aspect, select this item again and the object will be drawn with the new aspect parameters (and Show Axes Only will become unchecked). This feature was suggested by Hermann Karcher.
We next describe how to use the various items from the Aspect menu to change the aspect parameters in ways that will have desired visual effects. But remember that using virtual sphere mode will often be the quickest and most intuitive way to change the aspect parameters to desired values. The easiest to explain are the last two items, "Look at Origin From..." and "Choose Aspect Parameters...". The first of these allows the user to set a particular Viewpoint in space, after which the program adjusts other aspect parameters (FocalLength, ViewDirection, ...) appropriately. "Choose Aspect Parameters..." brings up a dialog that permits the user to set the parameters "by hand". Note that since ViewDirection is a direction, it is convenient to give it by its altitude (the angle it makes with the x,y-plane) and its azimuth (the angle its projection on the x,y-plane makes with the x-axis). You should not use this dialog to set ViewPoint unless you are sure of what you are doing and need some special effect---otherwiae, use "Look at Origin From..." instead. The reason is that using the "Choose Aspect Parameters..." dialog to set the ViewPoint will only change ViewPoint and not adjust the other parameters as the normally should be.
The others menu entries are more specialized and will be described in the order they occur.
The main use for the Aspect menu is in creating a Grand Tour, and in fact it is Grand Tours that makes the Aspect menu necessary. Still, this is an awkward menu to use and rventually I plan to replace it with a control panel that will have the same functionality.
Animate
Playback
Realtime Animation
Filmstrip Animation
Morph
Cyclic Morph
Associate Family Morph
Rotate
Oscillate
Spin
Grand Tour
The Help menu gives access to some of the same information contained in this documentation. The main difference is that it is not hyper-linked, and only basic items are covered.
Help
Once Over Lightly
Getting Started 1
Getting Started 2
Hints
The Files Menu
The Settings Menu
The Action Menu
Rendering
Aspect
Grand Tour
Stereo Vision
Color
Acknowledgements
Copyright
Read Me Last
Download Latest Version
3D--Filmstrip Homepage
Online HTML Documentation